Everything about Roundup Issue Tracker totally explained
*
For other uses of the phrase "Round Up" see Round Up (disambiguation)
Roundup is an
open-source issue or
bug tracking system featuring a command-line, web and
e-mail interface. It is written in
Python and designed to be highly customizable. Roundup was designed by Ka-Ping Yee for the
Software Carpentry project and is currently being developed under the direction of Richard Jones. It is currently the issue tracker for the Python programming language itself.
Features
The standard configuration of Roundup features:
- a web interface for viewing, editing and searching issues
- a Mail gateway allowing creation and changing of issues
- a database abstraction layer, currently supporting (among others) Python's built-in "anydbm" module, PostgreSQL, MySQL and SQLite
- issue-specific "nosy lists", used for e-mail notifications and conversation (each issue effectively becoming a mini mailing list)
- an authorization system, based on roles (of users), classes and objects
- an interactive shell for backup and restore tasks and for manipulation of objects
Roundup runs as a
daemon process,
CGI script or alternatively using
mod_python.
Concepts
Roundup is customized by changing the contents of the tracker instance directory:
Database schema
The database schema is defined in a
Python file in the tracker instance's root directory; it is
re-read whenever the server is started anew. When changes are found (for example new attributes), the tables of the underlying
RDBS are altered accordingly.
Page templates
Roundup uses the
Template Attribute Language (TAL) known from
Zope to create
HTML or
XHTML output. Some templates are used for several classes, for example _generic.index.html, which allows (authorized) users to change the objects of all classes which lack an own index template.
When an „issue123“ is requested, this
designator is split in the
issue class and the id „123“. By default an „item“ template is chosen: First, an issue.item.html template file is looked for; if it can't be found, _generic.item.html is used as a fallback option. If this is missing equally, an error occurs.
Detectors
Many Roundup functions, including some of the standard functionality, are implemented using so-called
detectors, which are located in the „detectors“ sub-directory of the tracker instance. They are Python
subroutines which have access to the object to change (if already created) and the requested attribute changes.
Detectors are distinguished between
auditors and
reactors. Auditors are used primarily for several automatic changes (in the standard configuration, the
assignedto user is automagically added to the
nosy list of the issue), and to refuse un-allowed changes; reactors are executed thereafter and used for example for the e-mail notification feature, sending notification mails to all users interested in a certain issue when a comment is added to it.
Detectors are triggered whenever one of the actions
create
set (change of attributes)
retire
restore
is requested. They can be used to create an elaborated custom workflow.
Extensions
The instance subdirectory „extensions“ can hold additional files which are needed for extended functionalities which can't (conveniently) be done with TAL; even totally new actions are possible.
Python modules which are used by both detectors and extensions can be put in the „lib“ subdirectory
Further Information
Get more info on 'Roundup Issue Tracker'.
|
External Link Exchanges
Do you know how hard it is to get a link from a large encyclopaedia? Well we're different and will prove it. To get a link from us just add the following HTML to your site on a relevant page:
<a href="http://roundup__issue_tracker.totallyexplained.com">Roundup (issue tracker) Totally Explained</a>
Then simply click through this link from your web page. Our crawlers will verify your link, extract the title of your web page and instantly add a link back to it. If you like you can remove the words Totally Explained and embed the link in article text.
As long as your link remains in place, we'll keep our link to you right here. Please play fair - our crawlers are watching. Your site must be closely related to this one's topic. Any kind of spamming, dubious practises or removing the link will result in your link from us being dropped and, potentially, your whole site being banned. |